ITP001 Axioms: ITP013^5.ax


%------------------------------------------------------------------------------
% File     : ITP013^5 : TPTP v8.2.0. Bugfixed v7.5.0.
% Domain   : Interactive Theorem Proving
% Axioms   : HOL4 set theory export, chainy mode
% Version  : [BG+19] axioms.
% English  :

% Refs     : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
%          : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source   : [BG+19]
% Names    : option^2.ax [Gau20]
%          : HL4013^5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :  124 (   4 unt;  24 typ;   0 def)
%            Number of atoms       : 1220 ( 159 equ;   0 cnn)
%            Maximal formula atoms :   69 (   9 avg)
%            Number of connectives : 2929 (  12   ~;   9   |;  94   &;2527   @)
%                                         (  45 <=>; 242  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   34 (  11 avg;2527 nst)
%            Number of types       :    2 (   1 usr)
%            Number of type conns  :   32 (  32   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   50 (  47 usr;  27 con; 0-3 aty)
%            Number of variables   :  392 (   8   ^ 367   !;  17   ?; 392   :)
% SPC      : TH0_SAT_EQU_NAR

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
thf(tp_ty_2Eoption_2Eoption,type,
    ty_2Eoption_2Eoption: del > del ).

thf(tp_c_2Eoption_2EIS__NONE,type,
    c_2Eoption_2EIS__NONE: del > $i ).

thf(mem_c_2Eoption_2EIS__NONE,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2EIS__NONE @ A_27a ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) ) ).

thf(tp_c_2Eoption_2EIS__SOME,type,
    c_2Eoption_2EIS__SOME: del > $i ).

thf(mem_c_2Eoption_2EIS__SOME,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) ) ).

thf(tp_c_2Eoption_2ENONE,type,
    c_2Eoption_2ENONE: del > $i ).

thf(mem_c_2Eoption_2ENONE,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2ENONE @ A_27a ) @ ( ty_2Eoption_2Eoption @ A_27a ) ) ).

thf(tp_c_2Eoption_2EOPTION__ALL,type,
    c_2Eoption_2EOPTION__ALL: del > $i ).

thf(mem_c_2Eoption_2EOPTION__ALL,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2EOPTION__ALL @ A_27a ) @ ( arr @ ( arr @ A_27a @ bool ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) ) ) ).

thf(tp_c_2Eoption_2EOPTION__APPLY,type,
    c_2Eoption_2EOPTION__APPLY: del > del > $i ).

thf(mem_c_2Eoption_2EOPTION__APPLY,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2Eoption_2EOPTION__APPLY @ A_27a @ A_27b ) @ ( arr @ ( ty_2Eoption_2Eoption @ ( arr @ A_27b @ A_27a ) ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ) ).

thf(tp_c_2Eoption_2EOPTION__BIND,type,
    c_2Eoption_2EOPTION__BIND: del > del > $i ).

thf(mem_c_2Eoption_2EOPTION__BIND,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2Eoption_2EOPTION__BIND @ A_27a @ A_27b ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( arr @ ( arr @ A_27b @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ) ).

thf(tp_c_2Eoption_2EOPTION__CHOICE,type,
    c_2Eoption_2EOPTION__CHOICE: del > $i ).

thf(mem_c_2Eoption_2EOPTION__CHOICE,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2EOPTION__CHOICE @ A_27a ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ) ).

thf(stp_c_ty_2Eoption_2Eoption_ty_2Eone_2Eone,type,
    tp__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone: $tType ).

thf(stp_inj_c_ty_2Eoption_2Eoption_ty_2Eone_2Eone,type,
    inj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone: tp__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone > $i ).

thf(stp_surj_c_ty_2Eoption_2Eoption_ty_2Eone_2Eone,type,
    surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone: $i > tp__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone ).

thf(stp_inj_surj_c_ty_2Eoption_2Eoption_ty_2Eone_2Eone,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone] :
      ( ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( inj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ X ) )
      = X ) ).

thf(stp_inj_mem_c_ty_2Eoption_2Eoption_ty_2Eone_2Eone,axiom,
    ! [X: tp__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone] : ( mem @ ( inj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ X ) @ ( ty_2Eoption_2Eoption @ ty_2Eone_2Eone ) ) ).

thf(stp_iso_mem_c_ty_2Eoption_2Eoption_ty_2Eone_2Eone,axiom,
    ! [X: $i] :
      ( ( mem @ X @ ( ty_2Eoption_2Eoption @ ty_2Eone_2Eone ) )
     => ( X
        = ( inj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ X ) ) ) ) ).

thf(tp_c_2Eoption_2EOPTION__GUARD,type,
    c_2Eoption_2EOPTION__GUARD: $i ).

thf(mem_c_2Eoption_2EOPTION__GUARD,axiom,
    mem @ c_2Eoption_2EOPTION__GUARD @ ( arr @ bool @ ( ty_2Eoption_2Eoption @ ty_2Eone_2Eone ) ) ).

thf(tp_c_2Eoption_2EOPTION__IGNORE__BIND,type,
    c_2Eoption_2EOPTION__IGNORE__BIND: del > del > $i ).

thf(mem_c_2Eoption_2EOPTION__IGNORE__BIND,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2Eoption_2EOPTION__IGNORE__BIND @ A_27a @ A_27b ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ) ).

thf(tp_c_2Eoption_2EOPTION__JOIN,type,
    c_2Eoption_2EOPTION__JOIN: del > $i ).

thf(mem_c_2Eoption_2EOPTION__JOIN,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2EOPTION__JOIN @ A_27a ) @ ( arr @ ( ty_2Eoption_2Eoption @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ).

thf(tp_c_2Eoption_2EOPTION__MAP,type,
    c_2Eoption_2EOPTION__MAP: del > del > $i ).

thf(mem_c_2Eoption_2EOPTION__MAP,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ ( arr @ ( arr @ A_27a @ A_27b ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Eoption_2Eoption @ A_27b ) ) ) ) ).

thf(tp_c_2Eoption_2EOPTION__MAP2,type,
    c_2Eoption_2EOPTION__MAP2: del > del > del > $i ).

thf(mem_c_2Eoption_2EOPTION__MAP2,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : ( mem @ ( c_2Eoption_2EOPTION__MAP2 @ A_27a @ A_27b @ A_27c ) @ ( arr @ ( arr @ A_27b @ ( arr @ A_27c @ A_27a ) ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27c ) @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ) ) ).

thf(tp_c_2Eoption_2EOPTION__MCOMP,type,
    c_2Eoption_2EOPTION__MCOMP: del > del > del > $i ).

thf(mem_c_2Eoption_2EOPTION__MCOMP,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del] : ( mem @ ( c_2Eoption_2EOPTION__MCOMP @ A_27a @ A_27b @ A_27c ) @ ( arr @ ( arr @ A_27b @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( arr @ ( arr @ A_27c @ ( ty_2Eoption_2Eoption @ A_27b ) ) @ ( arr @ A_27c @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ) ) ).

thf(tp_c_2Eoption_2EOPTREL,type,
    c_2Eoption_2EOPTREL: del > del > $i ).

thf(mem_c_2Eoption_2EOPTREL,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27b ) @ ( arr @ ( arr @ A_27a @ ( arr @ A_27b @ bool ) ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27b ) @ bool ) ) ) ) ).

thf(tp_c_2Eoption_2ESOME,type,
    c_2Eoption_2ESOME: del > $i ).

thf(mem_c_2Eoption_2ESOME,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2ESOME @ A_27a ) @ ( arr @ A_27a @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ).

thf(tp_c_2Eoption_2ETHE,type,
    c_2Eoption_2ETHE: del > $i ).

thf(mem_c_2Eoption_2ETHE,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2ETHE @ A_27a ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ A_27a ) ) ).

thf(tp_c_2Eoption_2Eoption__ABS,type,
    c_2Eoption_2Eoption__ABS: del > $i ).

thf(mem_c_2Eoption_2Eoption__ABS,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2Eoption__ABS @ A_27a ) @ ( arr @ ( ty_2Esum_2Esum @ A_27a @ ty_2Eone_2Eone ) @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ).

thf(tp_c_2Eoption_2Eoption__CASE,type,
    c_2Eoption_2Eoption__CASE: del > del > $i ).

thf(mem_c_2Eoption_2Eoption__CASE,axiom,
    ! [A_27a: del,A_27b: del] : ( mem @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( arr @ A_27b @ ( arr @ ( arr @ A_27a @ A_27b ) @ A_27b ) ) ) ) ).

thf(tp_c_2Eoption_2Eoption__REP,type,
    c_2Eoption_2Eoption__REP: del > $i ).

thf(mem_c_2Eoption_2Eoption__REP,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2Eoption__REP @ A_27a ) @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Esum_2Esum @ A_27a @ ty_2Eone_2Eone ) ) ) ).

thf(tp_c_2Eoption_2Esome,type,
    c_2Eoption_2Esome: del > $i ).

thf(mem_c_2Eoption_2Esome,axiom,
    ! [A_27a: del] : ( mem @ ( c_2Eoption_2Esome @ A_27a ) @ ( arr @ ( arr @ A_27a @ bool ) @ ( ty_2Eoption_2Eoption @ A_27a ) ) ) ).

thf(ax_thm_2Eoption_2Eoption__TY__DEF,axiom,
    ! [A_27a: del] :
    ? [V0rep: $i] :
      ( ( mem @ V0rep @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( ty_2Esum_2Esum @ A_27a @ ty_2Eone_2Eone ) ) )
      & ( p
        @ ( ap
          @ ( ap @ ( c_2Ebool_2ETYPE__DEFINITION @ ( ty_2Esum_2Esum @ A_27a @ ty_2Eone_2Eone ) @ ( ty_2Eoption_2Eoption @ A_27a ) )
            @ ( lam @ ( ty_2Esum_2Esum @ A_27a @ ty_2Eone_2Eone )
              @ ^ [V1x: $i] : c_2Ebool_2ET ) )
          @ V0rep ) ) ) ).

thf(ax_thm_2Eoption_2Eoption__REP__ABS__DEF,axiom,
    ! [A_27a: del] :
      ( ! [V0a: $i] :
          ( ( mem @ V0a @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ( ( ap @ ( c_2Eoption_2Eoption__ABS @ A_27a ) @ ( ap @ ( c_2Eoption_2Eoption__REP @ A_27a ) @ V0a ) )
            = V0a ) )
      & ! [V1r: $i] :
          ( ( mem @ V1r @ ( ty_2Esum_2Esum @ A_27a @ ty_2Eone_2Eone ) )
         => ( ( p
              @ ( ap
                @ ( lam @ ( ty_2Esum_2Esum @ A_27a @ ty_2Eone_2Eone )
                  @ ^ [V2x: $i] : c_2Ebool_2ET )
                @ V1r ) )
          <=> ( ( ap @ ( c_2Eoption_2Eoption__REP @ A_27a ) @ ( ap @ ( c_2Eoption_2Eoption__ABS @ A_27a ) @ V1r ) )
              = V1r ) ) ) ) ).

thf(ax_thm_2Eoption_2ESOME__DEF,axiom,
    ! [A_27a: del,V0x: $i] :
      ( ( mem @ V0x @ A_27a )
     => ( ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V0x )
        = ( ap @ ( c_2Eoption_2Eoption__ABS @ A_27a ) @ ( ap @ ( c_2Esum_2EINL @ A_27a @ ty_2Eone_2Eone ) @ V0x ) ) ) ) ).

thf(ax_thm_2Eoption_2ENONE__DEF,axiom,
    ! [A_27a: del] :
      ( ( c_2Eoption_2ENONE @ A_27a )
      = ( ap @ ( c_2Eoption_2Eoption__ABS @ A_27a ) @ ( ap @ ( c_2Esum_2EINR @ A_27a @ ty_2Eone_2Eone ) @ ( inj__ty_2Eone_2Eone @ fo__c_2Eone_2Eone ) ) ) ) ).

thf(conj_thm_2Eoption_2Eoption__Axiom,axiom,
    ! [A_27a: del,A_27b: del,V0e: $i] :
      ( ( mem @ V0e @ A_27b )
     => ! [V1f: $i] :
          ( ( mem @ V1f @ ( arr @ A_27a @ A_27b ) )
         => ? [V2fn: $i] :
              ( ( mem @ V2fn @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ A_27b ) )
              & ( ( ap @ V2fn @ ( c_2Eoption_2ENONE @ A_27a ) )
                = V0e )
              & ! [V3x: $i] :
                  ( ( mem @ V3x @ A_27a )
                 => ( ( ap @ V2fn @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V3x ) )
                    = ( ap @ V1f @ V3x ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2Eoption__induction,axiom,
    ! [A_27a: del,V0P: $i] :
      ( ( mem @ V0P @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) )
     => ( ( ( p @ ( ap @ V0P @ ( c_2Eoption_2ENONE @ A_27a ) ) )
          & ! [V1a: $i] :
              ( ( mem @ V1a @ A_27a )
             => ( p @ ( ap @ V0P @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1a ) ) ) ) )
       => ! [V2x: $i] :
            ( ( mem @ V2x @ ( ty_2Eoption_2Eoption @ A_27a ) )
           => ( p @ ( ap @ V0P @ V2x ) ) ) ) ) ).

thf(conj_thm_2Eoption_2Eoption__nchotomy,axiom,
    ! [A_27a: del,V0opt: $i] :
      ( ( mem @ V0opt @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ( ( V0opt
          = ( c_2Eoption_2ENONE @ A_27a ) )
        | ? [V1x: $i] :
            ( ( mem @ V1x @ A_27a )
            & ( V0opt
              = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) ) ) ) ) ).

thf(ax_thm_2Eoption_2Eoption__case__def,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0v: $i] :
          ( ( mem @ V0v @ A_27b )
         => ! [V1f: $i] :
              ( ( mem @ V1f @ ( arr @ A_27a @ A_27b ) )
             => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ V0v ) @ V1f )
                = V0v ) ) )
      & ! [V2x: $i] :
          ( ( mem @ V2x @ A_27a )
         => ! [V3v: $i] :
              ( ( mem @ V3v @ A_27b )
             => ! [V4f: $i] :
                  ( ( mem @ V4f @ ( arr @ A_27a @ A_27b ) )
                 => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2x ) ) @ V3v ) @ V4f )
                    = ( ap @ V4f @ V2x ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EFORALL__OPTION,axiom,
    ! [A_27a: del,V0P: $i] :
      ( ( mem @ V0P @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) )
     => ( ! [V1opt: $i] :
            ( ( mem @ V1opt @ ( ty_2Eoption_2Eoption @ A_27a ) )
           => ( p @ ( ap @ V0P @ V1opt ) ) )
      <=> ( ( p @ ( ap @ V0P @ ( c_2Eoption_2ENONE @ A_27a ) ) )
          & ! [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
             => ( p @ ( ap @ V0P @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2x ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EEXISTS__OPTION,axiom,
    ! [A_27a: del,V0P: $i] :
      ( ( mem @ V0P @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) )
     => ( ? [V1opt: $i] :
            ( ( mem @ V1opt @ ( ty_2Eoption_2Eoption @ A_27a ) )
            & ( p @ ( ap @ V0P @ V1opt ) ) )
      <=> ( ( p @ ( ap @ V0P @ ( c_2Eoption_2ENONE @ A_27a ) ) )
          | ? [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
              & ( p @ ( ap @ V0P @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2x ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2ESOME__11,axiom,
    ! [A_27a: del,V0x: $i] :
      ( ( mem @ V0x @ A_27a )
     => ! [V1y: $i] :
          ( ( mem @ V1y @ A_27a )
         => ( ( ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V0x )
              = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1y ) )
          <=> ( V0x = V1y ) ) ) ) ).

thf(conj_thm_2Eoption_2ENOT__NONE__SOME,axiom,
    ! [A_27a: del,V0x: $i] :
      ( ( mem @ V0x @ A_27a )
     => ( ( c_2Eoption_2ENONE @ A_27a )
       != ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V0x ) ) ) ).

thf(conj_thm_2Eoption_2ENOT__SOME__NONE,axiom,
    ! [A_27a: del,V0x: $i] :
      ( ( mem @ V0x @ A_27a )
     => ( ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V0x )
       != ( c_2Eoption_2ENONE @ A_27a ) ) ) ).

thf(ax_thm_2Eoption_2EOPTION__MAP__DEF,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0f: $i] :
          ( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
         => ! [V1x: $i] :
              ( ( mem @ V1x @ A_27a )
             => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V0f ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) )
                = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ ( ap @ V0f @ V1x ) ) ) ) )
      & ! [V2f: $i] :
          ( ( mem @ V2f @ ( arr @ A_27a @ A_27b ) )
         => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V2f ) @ ( c_2Eoption_2ENONE @ A_27a ) )
            = ( c_2Eoption_2ENONE @ A_27b ) ) ) ) ).

thf(ax_thm_2Eoption_2EIS__SOME__DEF,axiom,
    ! [A_27a: del] :
      ( ! [V0x: $i] :
          ( ( mem @ V0x @ A_27a )
         => ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V0x ) ) )
          <=> $true ) )
      & ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ ( c_2Eoption_2ENONE @ A_27a ) ) )
      <=> $false ) ) ).

thf(ax_thm_2Eoption_2EIS__NONE__DEF,axiom,
    ! [A_27a: del] :
      ( ! [V0x: $i] :
          ( ( mem @ V0x @ A_27a )
         => ( ( p @ ( ap @ ( c_2Eoption_2EIS__NONE @ A_27a ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V0x ) ) )
          <=> $false ) )
      & ( ( p @ ( ap @ ( c_2Eoption_2EIS__NONE @ A_27a ) @ ( c_2Eoption_2ENONE @ A_27a ) ) )
      <=> $true ) ) ).

thf(ax_thm_2Eoption_2ETHE__DEF,axiom,
    ! [A_27a: del,V0x: $i] :
      ( ( mem @ V0x @ A_27a )
     => ( ( ap @ ( c_2Eoption_2ETHE @ A_27a ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V0x ) )
        = V0x ) ) ).

thf(ax_thm_2Eoption_2EOPTION__MAP2__DEF,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27b @ ( arr @ A_27c @ A_27a ) ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ ( ty_2Eoption_2Eoption @ A_27b ) )
         => ! [V2y: $i] :
              ( ( mem @ V2y @ ( ty_2Eoption_2Eoption @ A_27c ) )
             => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP2 @ A_27a @ A_27b @ A_27c ) @ V0f ) @ V1x ) @ V2y )
                = ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ap @ ( ap @ c_2Ebool_2E_2F_5C @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27b ) @ V1x ) ) @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27c ) @ V2y ) ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ ( ap @ ( ap @ V0f @ ( ap @ ( c_2Eoption_2ETHE @ A_27b ) @ V1x ) ) @ ( ap @ ( c_2Eoption_2ETHE @ A_27c ) @ V2y ) ) ) ) @ ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ) ) ).

thf(ax_thm_2Eoption_2EOPTION__JOIN__DEF,axiom,
    ! [A_27a: del] :
      ( ( ( ap @ ( c_2Eoption_2EOPTION__JOIN @ A_27a ) @ ( c_2Eoption_2ENONE @ ( ty_2Eoption_2Eoption @ A_27a ) ) )
        = ( c_2Eoption_2ENONE @ A_27a ) )
      & ! [V0x: $i] :
          ( ( mem @ V0x @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ( ( ap @ ( c_2Eoption_2EOPTION__JOIN @ A_27a ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0x ) )
            = V0x ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MAP2__THM,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27b @ ( arr @ A_27c @ A_27a ) ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ A_27b )
         => ! [V2y: $i] :
              ( ( mem @ V2y @ A_27c )
             => ( ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP2 @ A_27a @ A_27b @ A_27c ) @ V0f ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V1x ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27c ) @ V2y ) )
                  = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ ( ap @ ( ap @ V0f @ V1x ) @ V2y ) ) )
                & ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP2 @ A_27a @ A_27b @ A_27c ) @ V0f ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V1x ) ) @ ( c_2Eoption_2ENONE @ A_27c ) )
                  = ( c_2Eoption_2ENONE @ A_27a ) )
                & ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP2 @ A_27a @ A_27b @ A_27c ) @ V0f ) @ ( c_2Eoption_2ENONE @ A_27b ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27c ) @ V2y ) )
                  = ( c_2Eoption_2ENONE @ A_27a ) )
                & ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP2 @ A_27a @ A_27b @ A_27c ) @ V0f ) @ ( c_2Eoption_2ENONE @ A_27b ) ) @ ( c_2Eoption_2ENONE @ A_27c ) )
                  = ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EIS__SOME__EXISTS,axiom,
    ! [A_27a: del,V0opt: $i] :
      ( ( mem @ V0opt @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V0opt ) )
      <=> ? [V1x: $i] :
            ( ( mem @ V1x @ A_27a )
            & ( V0opt
              = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EIS__NONE__EQ__NONE,axiom,
    ! [A_27a: del,V0x: $i] :
      ( ( mem @ V0x @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ( ( p @ ( ap @ ( c_2Eoption_2EIS__NONE @ A_27a ) @ V0x ) )
      <=> ( V0x
          = ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ).

thf(conj_thm_2Eoption_2ENOT__IS__SOME__EQ__NONE,axiom,
    ! [A_27a: del,V0x: $i] :
      ( ( mem @ V0x @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ( ~ ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V0x ) )
      <=> ( V0x
          = ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ).

thf(conj_thm_2Eoption_2Eoption__case__ID,axiom,
    ! [A_27a: del,V0x: $i] :
      ( ( mem @ V0x @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0x ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ ( c_2Eoption_2ESOME @ A_27a ) )
        = V0x ) ) ).

thf(conj_thm_2Eoption_2Eoption__case__SOME__ID,axiom,
    ! [A_27a: del,V0x: $i] :
      ( ( mem @ V0x @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0x ) @ V0x ) @ ( c_2Eoption_2ESOME @ A_27a ) )
        = V0x ) ) ).

thf(conj_thm_2Eoption_2Eoption__CLAUSES,axiom,
    ! [A_27a: del,A_27b: del,V0e: $i] :
      ( ( mem @ V0e @ A_27b )
     => ! [V1f: $i] :
          ( ( mem @ V1f @ ( arr @ A_27a @ A_27b ) )
         => ! [V2e: $i] :
              ( ( mem @ V2e @ ( ty_2Eoption_2Eoption @ A_27a ) )
             => ( ! [V3x: $i] :
                    ( ( mem @ V3x @ A_27a )
                   => ! [V4y: $i] :
                        ( ( mem @ V4y @ A_27a )
                       => ( ( ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V3x )
                            = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V4y ) )
                        <=> ( V3x = V4y ) ) ) )
                & ! [V5x: $i] :
                    ( ( mem @ V5x @ A_27a )
                   => ( ( ap @ ( c_2Eoption_2ETHE @ A_27a ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V5x ) )
                      = V5x ) )
                & ! [V6x: $i] :
                    ( ( mem @ V6x @ A_27a )
                   => ( ( c_2Eoption_2ENONE @ A_27a )
                     != ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V6x ) ) )
                & ! [V7x: $i] :
                    ( ( mem @ V7x @ A_27a )
                   => ( ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V7x )
                     != ( c_2Eoption_2ENONE @ A_27a ) ) )
                & ! [V8x: $i] :
                    ( ( mem @ V8x @ A_27a )
                   => ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V8x ) ) )
                    <=> $true ) )
                & ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ ( c_2Eoption_2ENONE @ A_27a ) ) )
                <=> $false )
                & ! [V9x: $i] :
                    ( ( mem @ V9x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ( ( p @ ( ap @ ( c_2Eoption_2EIS__NONE @ A_27a ) @ V9x ) )
                    <=> ( V9x
                        = ( c_2Eoption_2ENONE @ A_27a ) ) ) )
                & ! [V10x: $i] :
                    ( ( mem @ V10x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ( ~ ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V10x ) )
                    <=> ( V10x
                        = ( c_2Eoption_2ENONE @ A_27a ) ) ) )
                & ! [V11x: $i] :
                    ( ( mem @ V11x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V11x ) )
                     => ( ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ ( ap @ ( c_2Eoption_2ETHE @ A_27a ) @ V11x ) )
                        = V11x ) ) )
                & ! [V12x: $i] :
                    ( ( mem @ V12x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V12x ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ ( c_2Eoption_2ESOME @ A_27a ) )
                      = V12x ) )
                & ! [V13x: $i] :
                    ( ( mem @ V13x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V13x ) @ V13x ) @ ( c_2Eoption_2ESOME @ A_27a ) )
                      = V13x ) )
                & ! [V14x: $i] :
                    ( ( mem @ V14x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ( ( p @ ( ap @ ( c_2Eoption_2EIS__NONE @ A_27a ) @ V14x ) )
                     => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ V14x ) @ V0e ) @ V1f )
                        = V0e ) ) )
                & ! [V15x: $i] :
                    ( ( mem @ V15x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V15x ) )
                     => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ V15x ) @ V0e ) @ V1f )
                        = ( ap @ V1f @ ( ap @ ( c_2Eoption_2ETHE @ A_27a ) @ V15x ) ) ) ) )
                & ! [V16x: $i] :
                    ( ( mem @ V16x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V16x ) )
                     => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V16x ) @ V2e ) @ ( c_2Eoption_2ESOME @ A_27a ) )
                        = V16x ) ) )
                & ! [V17v: $i] :
                    ( ( mem @ V17v @ A_27b )
                   => ! [V18f: $i] :
                        ( ( mem @ V18f @ ( arr @ A_27a @ A_27b ) )
                       => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ V17v ) @ V18f )
                          = V17v ) ) )
                & ! [V19x: $i] :
                    ( ( mem @ V19x @ A_27a )
                   => ! [V20v: $i] :
                        ( ( mem @ V20v @ A_27b )
                       => ! [V21f: $i] :
                            ( ( mem @ V21f @ ( arr @ A_27a @ A_27b ) )
                           => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V19x ) ) @ V20v ) @ V21f )
                              = ( ap @ V21f @ V19x ) ) ) ) )
                & ! [V22f: $i] :
                    ( ( mem @ V22f @ ( arr @ A_27a @ A_27b ) )
                   => ! [V23x: $i] :
                        ( ( mem @ V23x @ A_27a )
                       => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V22f ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V23x ) )
                          = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ ( ap @ V22f @ V23x ) ) ) ) )
                & ! [V24f: $i] :
                    ( ( mem @ V24f @ ( arr @ A_27a @ A_27b ) )
                   => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V24f ) @ ( c_2Eoption_2ENONE @ A_27a ) )
                      = ( c_2Eoption_2ENONE @ A_27b ) ) )
                & ( ( ap @ ( c_2Eoption_2EOPTION__JOIN @ A_27a ) @ ( c_2Eoption_2ENONE @ ( ty_2Eoption_2Eoption @ A_27a ) ) )
                  = ( c_2Eoption_2ENONE @ A_27a ) )
                & ! [V25x: $i] :
                    ( ( mem @ V25x @ ( ty_2Eoption_2Eoption @ A_27a ) )
                   => ( ( ap @ ( c_2Eoption_2EOPTION__JOIN @ A_27a ) @ ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V25x ) )
                      = V25x ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2Eoption__case__compute,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( ( mem @ V0x @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1e: $i] :
          ( ( mem @ V1e @ A_27b )
         => ! [V2f: $i] :
              ( ( mem @ V2f @ ( arr @ A_27a @ A_27b ) )
             => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ V0x ) @ V1e ) @ V2f )
                = ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ A_27b ) @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V0x ) ) @ ( ap @ V2f @ ( ap @ ( c_2Eoption_2ETHE @ A_27a ) @ V0x ) ) ) @ V1e ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EIF__EQUALS__OPTION,axiom,
    ! [A_27a: del,V0P: $i] :
      ( ( mem @ V0P @ bool )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ A_27a )
         => ! [V2y: $i] :
              ( ( mem @ V2y @ A_27a )
             => ( ( ( ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0P ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) ) @ ( c_2Eoption_2ENONE @ A_27a ) )
                    = ( c_2Eoption_2ENONE @ A_27a ) )
                <=> ~ ( p @ V0P ) )
                & ( ( ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0P ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) )
                    = ( c_2Eoption_2ENONE @ A_27a ) )
                <=> ( p @ V0P ) )
                & ( ( ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0P ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) ) @ ( c_2Eoption_2ENONE @ A_27a ) )
                    = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2y ) )
                <=> ( ( p @ V0P )
                    & ( V1x = V2y ) ) )
                & ( ( ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0P ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) )
                    = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2y ) )
                <=> ( ~ ( p @ V0P )
                    & ( V1x = V2y ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EIF__NONE__EQUALS__OPTION,axiom,
    ! [A_27a: del,V0P: $i] :
      ( ( mem @ V0P @ bool )
     => ! [V1X: $i] :
          ( ( mem @ V1X @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
             => ( ( ( ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0P ) @ V1X ) @ ( c_2Eoption_2ENONE @ A_27a ) )
                    = ( c_2Eoption_2ENONE @ A_27a ) )
                <=> ( ( p @ V0P )
                   => ( p @ ( ap @ ( c_2Eoption_2EIS__NONE @ A_27a ) @ V1X ) ) ) )
                & ( ( ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0P ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ V1X )
                    = ( c_2Eoption_2ENONE @ A_27a ) )
                <=> ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V1X ) )
                   => ( p @ V0P ) ) )
                & ( ( ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0P ) @ V1X ) @ ( c_2Eoption_2ENONE @ A_27a ) )
                    = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2x ) )
                <=> ( ( p @ V0P )
                    & ( V1X
                      = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2x ) ) ) )
                & ( ( ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ V0P ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ V1X )
                    = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2x ) )
                <=> ( ~ ( p @ V0P )
                    & ( V1X
                      = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2x ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MAP__EQ__SOME,axiom,
    ! [A_27a: del,A_27b: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ! [V2y: $i] :
              ( ( mem @ V2y @ A_27b )
             => ( ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V0f ) @ V1x )
                  = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V2y ) )
              <=> ? [V3z: $i] :
                    ( ( mem @ V3z @ A_27a )
                    & ( V1x
                      = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V3z ) )
                    & ( V2y
                      = ( ap @ V0f @ V3z ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MAP__EQ__NONE,axiom,
    ! [A_27a: del,A_27b: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ( ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V0f ) @ V1x )
              = ( c_2Eoption_2ENONE @ A_27b ) )
          <=> ( V1x
              = ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MAP__EQ__NONE__both__ways,axiom,
    ! [A_27a: del,A_27b: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27b @ A_27a ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ ( ty_2Eoption_2Eoption @ A_27b ) )
         => ( ( ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27b @ A_27a ) @ V0f ) @ V1x )
                = ( c_2Eoption_2ENONE @ A_27a ) )
            <=> ( V1x
                = ( c_2Eoption_2ENONE @ A_27b ) ) )
            & ( ( ( c_2Eoption_2ENONE @ A_27a )
                = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27b @ A_27a ) @ V0f ) @ V1x ) )
            <=> ( V1x
                = ( c_2Eoption_2ENONE @ A_27b ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MAP__COMPOSE,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27c @ A_27b ) )
     => ! [V1g: $i] :
          ( ( mem @ V1g @ ( arr @ A_27a @ A_27c ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ ( ty_2Eoption_2Eoption @ A_27a ) )
             => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27c @ A_27b ) @ V0f ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27c ) @ V1g ) @ V2x ) )
                = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ A_27b @ A_27c ) @ V0f ) @ V1g ) ) @ V2x ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MAP__CONG,axiom,
    ! [A_27a: del,A_27b: del,V0opt1: $i] :
      ( ( mem @ V0opt1 @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1opt2: $i] :
          ( ( mem @ V1opt2 @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ! [V2f1: $i] :
              ( ( mem @ V2f1 @ ( arr @ A_27a @ A_27b ) )
             => ! [V3f2: $i] :
                  ( ( mem @ V3f2 @ ( arr @ A_27a @ A_27b ) )
                 => ( ( ( V0opt1 = V1opt2 )
                      & ! [V4x: $i] :
                          ( ( mem @ V4x @ A_27a )
                         => ( ( V1opt2
                              = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V4x ) )
                           => ( ( ap @ V2f1 @ V4x )
                              = ( ap @ V3f2 @ V4x ) ) ) ) )
                   => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V2f1 ) @ V0opt1 )
                      = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V3f2 ) @ V1opt2 ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EIS__SOME__MAP,axiom,
    ! [A_27a: del,A_27b: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27b ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V0f ) @ V1x ) ) )
          <=> ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V1x ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__JOIN__EQ__SOME,axiom,
    ! [A_27a: del,V0x: $i] :
      ( ( mem @ V0x @ ( ty_2Eoption_2Eoption @ ( ty_2Eoption_2Eoption @ A_27a ) ) )
     => ! [V1y: $i] :
          ( ( mem @ V1y @ A_27a )
         => ( ( ( ap @ ( c_2Eoption_2EOPTION__JOIN @ A_27a ) @ V0x )
              = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1y ) )
          <=> ( V0x
              = ( ap @ ( c_2Eoption_2ESOME @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1y ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MAP2__SOME,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) ) )
     => ! [V1o1: $i] :
          ( ( mem @ V1o1 @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ! [V2o2: $i] :
              ( ( mem @ V2o2 @ ( ty_2Eoption_2Eoption @ A_27b ) )
             => ! [V3v: $i] :
                  ( ( mem @ V3v @ A_27c )
                 => ( ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP2 @ A_27c @ A_27a @ A_27b ) @ V0f ) @ V1o1 ) @ V2o2 )
                      = ( ap @ ( c_2Eoption_2ESOME @ A_27c ) @ V3v ) )
                  <=> ? [V4x1: $i] :
                        ( ( mem @ V4x1 @ A_27a )
                        & ? [V5x2: $i] :
                            ( ( mem @ V5x2 @ A_27b )
                            & ( V1o1
                              = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V4x1 ) )
                            & ( V2o2
                              = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V5x2 ) )
                            & ( V3v
                              = ( ap @ ( ap @ V0f @ V4x1 ) @ V5x2 ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MAP2__NONE,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) ) )
     => ! [V1o1: $i] :
          ( ( mem @ V1o1 @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ! [V2o2: $i] :
              ( ( mem @ V2o2 @ ( ty_2Eoption_2Eoption @ A_27b ) )
             => ( ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP2 @ A_27c @ A_27a @ A_27b ) @ V0f ) @ V1o1 ) @ V2o2 )
                  = ( c_2Eoption_2ENONE @ A_27c ) )
              <=> ( ( V1o1
                    = ( c_2Eoption_2ENONE @ A_27a ) )
                  | ( V2o2
                    = ( c_2Eoption_2ENONE @ A_27b ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MAP2__cong,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0x1: $i] :
      ( ( mem @ V0x1 @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1x2: $i] :
          ( ( mem @ V1x2 @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ! [V2y1: $i] :
              ( ( mem @ V2y1 @ ( ty_2Eoption_2Eoption @ A_27b ) )
             => ! [V3y2: $i] :
                  ( ( mem @ V3y2 @ ( ty_2Eoption_2Eoption @ A_27b ) )
                 => ! [V4f1: $i] :
                      ( ( mem @ V4f1 @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) ) )
                     => ! [V5f2: $i] :
                          ( ( mem @ V5f2 @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) ) )
                         => ( ( ( V0x1 = V1x2 )
                              & ( V2y1 = V3y2 )
                              & ! [V6x: $i] :
                                  ( ( mem @ V6x @ A_27a )
                                 => ! [V7y: $i] :
                                      ( ( mem @ V7y @ A_27b )
                                     => ( ( ( V1x2
                                            = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V6x ) )
                                          & ( V3y2
                                            = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V7y ) ) )
                                       => ( ( ap @ ( ap @ V4f1 @ V6x ) @ V7y )
                                          = ( ap @ ( ap @ V5f2 @ V6x ) @ V7y ) ) ) ) ) )
                           => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP2 @ A_27c @ A_27a @ A_27b ) @ V4f1 ) @ V0x1 ) @ V2y1 )
                              = ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP2 @ A_27c @ A_27a @ A_27b ) @ V5f2 ) @ V1x2 ) @ V3y2 ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MAP__CASE,axiom,
    ! [A_27a: del,A_27b: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27a @ A_27b ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ A_27b ) @ V0f ) @ V1x )
            = ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ ( ty_2Eoption_2Eoption @ A_27b ) ) @ V1x ) @ ( c_2Eoption_2ENONE @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Ecombin_2Eo @ A_27a @ ( ty_2Eoption_2Eoption @ A_27b ) @ A_27b ) @ ( c_2Eoption_2ESOME @ A_27b ) ) @ V0f ) ) ) ) ) ).

thf(ax_thm_2Eoption_2EOPTION__BIND__def,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0f: $i] :
          ( ( mem @ V0f @ ( arr @ A_27b @ ( ty_2Eoption_2Eoption @ A_27a ) ) )
         => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__BIND @ A_27a @ A_27b ) @ ( c_2Eoption_2ENONE @ A_27b ) ) @ V0f )
            = ( c_2Eoption_2ENONE @ A_27a ) ) )
      & ! [V1x: $i] :
          ( ( mem @ V1x @ A_27b )
         => ! [V2f: $i] :
              ( ( mem @ V2f @ ( arr @ A_27b @ ( ty_2Eoption_2Eoption @ A_27a ) ) )
             => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__BIND @ A_27a @ A_27b ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V1x ) ) @ V2f )
                = ( ap @ V2f @ V1x ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__BIND__cong,axiom,
    ! [A_27a: del,A_27b: del,V0o1: $i] :
      ( ( mem @ V0o1 @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1o2: $i] :
          ( ( mem @ V1o2 @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ! [V2f1: $i] :
              ( ( mem @ V2f1 @ ( arr @ A_27a @ ( ty_2Eoption_2Eoption @ A_27b ) ) )
             => ! [V3f2: $i] :
                  ( ( mem @ V3f2 @ ( arr @ A_27a @ ( ty_2Eoption_2Eoption @ A_27b ) ) )
                 => ( ( ( V0o1 = V1o2 )
                      & ! [V4x: $i] :
                          ( ( mem @ V4x @ A_27a )
                         => ( ( V1o2
                              = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V4x ) )
                           => ( ( ap @ V2f1 @ V4x )
                              = ( ap @ V3f2 @ V4x ) ) ) ) )
                   => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__BIND @ A_27b @ A_27a ) @ V0o1 ) @ V2f1 )
                      = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__BIND @ A_27b @ A_27a ) @ V1o2 ) @ V3f2 ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__BIND__EQUALS__OPTION,axiom,
    ! [A_27a: del,A_27b: del,V0p: $i] :
      ( ( mem @ V0p @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1f: $i] :
          ( ( mem @ V1f @ ( arr @ A_27a @ ( ty_2Eoption_2Eoption @ A_27b ) ) )
         => ! [V2y: $i] :
              ( ( mem @ V2y @ A_27b )
             => ( ( ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__BIND @ A_27b @ A_27a ) @ V0p ) @ V1f )
                    = ( c_2Eoption_2ENONE @ A_27b ) )
                <=> ( ( V0p
                      = ( c_2Eoption_2ENONE @ A_27a ) )
                    | ? [V3x: $i] :
                        ( ( mem @ V3x @ A_27a )
                        & ( V0p
                          = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V3x ) )
                        & ( ( ap @ V1f @ V3x )
                          = ( c_2Eoption_2ENONE @ A_27b ) ) ) ) )
                & ( ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__BIND @ A_27b @ A_27a ) @ V0p ) @ V1f )
                    = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V2y ) )
                <=> ? [V4x: $i] :
                      ( ( mem @ V4x @ A_27a )
                      & ( V0p
                        = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V4x ) )
                      & ( ( ap @ V1f @ V4x )
                        = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V2y ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EIS__SOME__BIND,axiom,
    ! [A_27a: del,A_27b: del,V0x: $i] :
      ( ( mem @ V0x @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1g: $i] :
          ( ( mem @ V1g @ ( arr @ A_27a @ ( ty_2Eoption_2Eoption @ A_27b ) ) )
         => ( ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27b ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__BIND @ A_27b @ A_27a ) @ V0x ) @ V1g ) ) )
           => ( p @ ( ap @ ( c_2Eoption_2EIS__SOME @ A_27a ) @ V0x ) ) ) ) ) ).

thf(ax_thm_2Eoption_2EOPTION__IGNORE__BIND__def,axiom,
    ! [A_27a: del,A_27b: del,V0m1: $i] :
      ( ( mem @ V0m1 @ ( ty_2Eoption_2Eoption @ A_27b ) )
     => ! [V1m2: $i] :
          ( ( mem @ V1m2 @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__IGNORE__BIND @ A_27a @ A_27b ) @ V0m1 ) @ V1m2 )
            = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__BIND @ A_27a @ A_27b ) @ V0m1 ) @ ( ap @ ( c_2Ecombin_2EK @ ( ty_2Eoption_2Eoption @ A_27a ) @ A_27b ) @ V1m2 ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__IGNORE__BIND__thm,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0m: $i] :
      ( ( mem @ V0m @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1v: $i] :
          ( ( mem @ V1v @ A_27c )
         => ( ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__IGNORE__BIND @ A_27a @ A_27b ) @ ( c_2Eoption_2ENONE @ A_27b ) ) @ V0m )
              = ( c_2Eoption_2ENONE @ A_27a ) )
            & ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__IGNORE__BIND @ A_27a @ A_27c ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27c ) @ V1v ) ) @ V0m )
              = V0m ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__IGNORE__BIND__EQUALS__OPTION,axiom,
    ! [A_27a: del,A_27b: del,V0m1: $i] :
      ( ( mem @ V0m1 @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1m2: $i] :
          ( ( mem @ V1m2 @ ( ty_2Eoption_2Eoption @ A_27b ) )
         => ! [V2y: $i] :
              ( ( mem @ V2y @ A_27b )
             => ( ( ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__IGNORE__BIND @ A_27b @ A_27a ) @ V0m1 ) @ V1m2 )
                    = ( c_2Eoption_2ENONE @ A_27b ) )
                <=> ( ( V0m1
                      = ( c_2Eoption_2ENONE @ A_27a ) )
                    | ( V1m2
                      = ( c_2Eoption_2ENONE @ A_27b ) ) ) )
                & ( ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__IGNORE__BIND @ A_27b @ A_27a ) @ V0m1 ) @ V1m2 )
                    = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V2y ) )
                <=> ? [V3x: $i] :
                      ( ( mem @ V3x @ A_27a )
                      & ( V0m1
                        = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V3x ) )
                      & ( V1m2
                        = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V2y ) ) ) ) ) ) ) ) ).

thf(ax_thm_2Eoption_2EOPTION__GUARD__def,axiom,
    ( ( ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( ap @ c_2Eoption_2EOPTION__GUARD @ c_2Ebool_2ET ) )
      = ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( ap @ ( c_2Eoption_2ESOME @ ty_2Eone_2Eone ) @ ( inj__ty_2Eone_2Eone @ fo__c_2Eone_2Eone ) ) ) )
    & ( ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( ap @ c_2Eoption_2EOPTION__GUARD @ c_2Ebool_2EF ) )
      = ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( c_2Eoption_2ENONE @ ty_2Eone_2Eone ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__GUARD__COND,axiom,
    ! [V0b: $i] :
      ( ( mem @ V0b @ bool )
     => ( ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( ap @ c_2Eoption_2EOPTION__GUARD @ V0b ) )
        = ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( ap @ ( ap @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ ty_2Eone_2Eone ) ) @ V0b ) @ ( ap @ ( c_2Eoption_2ESOME @ ty_2Eone_2Eone ) @ ( inj__ty_2Eone_2Eone @ fo__c_2Eone_2Eone ) ) ) @ ( c_2Eoption_2ENONE @ ty_2Eone_2Eone ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__GUARD__EQ__THM,axiom,
    ! [V0b: $i] :
      ( ( mem @ V0b @ bool )
     => ( ( ( ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( ap @ c_2Eoption_2EOPTION__GUARD @ V0b ) )
            = ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( ap @ ( c_2Eoption_2ESOME @ ty_2Eone_2Eone ) @ ( inj__ty_2Eone_2Eone @ fo__c_2Eone_2Eone ) ) ) )
        <=> ( p @ V0b ) )
        & ( ( ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( ap @ c_2Eoption_2EOPTION__GUARD @ V0b ) )
            = ( surj__c_ty_2Eoption_2Eoption_ty_2Eone_2Eone @ ( c_2Eoption_2ENONE @ ty_2Eone_2Eone ) ) )
        <=> ~ ( p @ V0b ) ) ) ) ).

thf(ax_thm_2Eoption_2EOPTION__CHOICE__def,axiom,
    ! [A_27a: del] :
      ( ! [V0m2: $i] :
          ( ( mem @ V0m2 @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__CHOICE @ A_27a ) @ ( c_2Eoption_2ENONE @ A_27a ) ) @ V0m2 )
            = V0m2 ) )
      & ! [V1x: $i] :
          ( ( mem @ V1x @ A_27a )
         => ! [V2m2: $i] :
              ( ( mem @ V2m2 @ ( ty_2Eoption_2Eoption @ A_27a ) )
             => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__CHOICE @ A_27a ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) ) @ V2m2 )
                = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__CHOICE__EQ__NONE,axiom,
    ! [A_27a: del,V0m1: $i] :
      ( ( mem @ V0m1 @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1m2: $i] :
          ( ( mem @ V1m2 @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ( ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__CHOICE @ A_27a ) @ V0m1 ) @ V1m2 )
              = ( c_2Eoption_2ENONE @ A_27a ) )
          <=> ( ( V0m1
                = ( c_2Eoption_2ENONE @ A_27a ) )
              & ( V1m2
                = ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__CHOICE__NONE,axiom,
    ! [A_27a: del,V0m1: $i] :
      ( ( mem @ V0m1 @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__CHOICE @ A_27a ) @ V0m1 ) @ ( c_2Eoption_2ENONE @ A_27a ) )
        = V0m1 ) ) ).

thf(ax_thm_2Eoption_2EOPTION__MCOMP__def,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0g: $i] :
      ( ( mem @ V0g @ ( arr @ A_27b @ ( ty_2Eoption_2Eoption @ A_27a ) ) )
     => ! [V1f: $i] :
          ( ( mem @ V1f @ ( arr @ A_27c @ ( ty_2Eoption_2Eoption @ A_27b ) ) )
         => ! [V2m: $i] :
              ( ( mem @ V2m @ A_27c )
             => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MCOMP @ A_27a @ A_27b @ A_27c ) @ V0g ) @ V1f ) @ V2m )
                = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__BIND @ A_27a @ A_27b ) @ ( ap @ V1f @ V2m ) ) @ V0g ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MCOMP__ASSOC,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27d @ ( ty_2Eoption_2Eoption @ A_27c ) ) )
     => ! [V1g: $i] :
          ( ( mem @ V1g @ ( arr @ A_27b @ ( ty_2Eoption_2Eoption @ A_27d ) ) )
         => ! [V2h: $i] :
              ( ( mem @ V2h @ ( arr @ A_27a @ ( ty_2Eoption_2Eoption @ A_27b ) ) )
             => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MCOMP @ A_27c @ A_27d @ A_27a ) @ V0f ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MCOMP @ A_27d @ A_27b @ A_27a ) @ V1g ) @ V2h ) )
                = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MCOMP @ A_27c @ A_27b @ A_27a ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MCOMP @ A_27c @ A_27d @ A_27b ) @ V0f ) @ V1g ) ) @ V2h ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__MCOMP__ID,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,A_27d: del,V0g: $i] :
      ( ( mem @ V0g @ ( arr @ A_27c @ ( ty_2Eoption_2Eoption @ A_27d ) ) )
     => ! [V1f: $i] :
          ( ( mem @ V1f @ ( arr @ A_27a @ ( ty_2Eoption_2Eoption @ A_27b ) ) )
         => ( ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MCOMP @ A_27d @ A_27c @ A_27c ) @ V0g ) @ ( c_2Eoption_2ESOME @ A_27c ) )
              = V0g )
            & ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MCOMP @ A_27b @ A_27b @ A_27a ) @ ( c_2Eoption_2ESOME @ A_27b ) ) @ V1f )
              = V1f ) ) ) ) ).

thf(ax_thm_2Eoption_2EOPTION__APPLY__def,axiom,
    ! [A_27a: del,A_27b: del] :
      ( ! [V0x: $i] :
          ( ( mem @ V0x @ ( ty_2Eoption_2Eoption @ A_27b ) )
         => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ A_27a @ A_27b ) @ ( c_2Eoption_2ENONE @ ( arr @ A_27b @ A_27a ) ) ) @ V0x )
            = ( c_2Eoption_2ENONE @ A_27a ) ) )
      & ! [V1f: $i] :
          ( ( mem @ V1f @ ( arr @ A_27b @ A_27a ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ ( ty_2Eoption_2Eoption @ A_27b ) )
             => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ A_27a @ A_27b ) @ ( ap @ ( c_2Eoption_2ESOME @ ( arr @ A_27b @ A_27a ) ) @ V1f ) ) @ V2x )
                = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27b @ A_27a ) @ V1f ) @ V2x ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__APPLY__MAP2,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27a @ ( arr @ A_27b @ A_27c ) ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ! [V2y: $i] :
              ( ( mem @ V2y @ ( ty_2Eoption_2Eoption @ A_27b ) )
             => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ A_27c @ A_27b ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP @ A_27a @ ( arr @ A_27b @ A_27c ) ) @ V0f ) @ V1x ) ) @ V2y )
                = ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__MAP2 @ A_27c @ A_27a @ A_27b ) @ V0f ) @ V1x ) @ V2y ) ) ) ) ) ).

thf(conj_thm_2Eoption_2ESOME__SOME__APPLY,axiom,
    ! [A_27a: del,A_27b: del,V0f: $i] :
      ( ( mem @ V0f @ ( arr @ A_27b @ A_27a ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ A_27b )
         => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ A_27a @ A_27b ) @ ( ap @ ( c_2Eoption_2ESOME @ ( arr @ A_27b @ A_27a ) ) @ V0f ) ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V1x ) )
            = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ ( ap @ V0f @ V1x ) ) ) ) ) ).

thf(conj_thm_2Eoption_2ESOME__APPLY__PERMUTE,axiom,
    ! [A_27a: del,A_27b: del,V0f: $i] :
      ( ( mem @ V0f @ ( ty_2Eoption_2Eoption @ ( arr @ A_27a @ A_27b ) ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ A_27a )
         => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ A_27b @ A_27a ) @ V0f ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) )
            = ( ap
              @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ A_27b @ ( arr @ A_27a @ A_27b ) )
                @ ( ap @ ( c_2Eoption_2ESOME @ ( arr @ ( arr @ A_27a @ A_27b ) @ A_27b ) )
                  @ ( lam @ ( arr @ A_27a @ A_27b )
                    @ ^ [V2f: $i] : ( ap @ V2f @ V1x ) ) ) )
              @ V0f ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__APPLY__o,axiom,
    ! [A_27a: del,A_27b: del,A_27c: del,V0f: $i] :
      ( ( mem @ V0f @ ( ty_2Eoption_2Eoption @ ( arr @ A_27b @ A_27c ) ) )
     => ! [V1g: $i] :
          ( ( mem @ V1g @ ( ty_2Eoption_2Eoption @ ( arr @ A_27a @ A_27b ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ ( ty_2Eoption_2Eoption @ A_27a ) )
             => ( ( ap @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ A_27c @ A_27a ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ ( arr @ A_27a @ A_27c ) @ ( arr @ A_27a @ A_27b ) ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ ( arr @ ( arr @ A_27a @ A_27b ) @ ( arr @ A_27a @ A_27c ) ) @ ( arr @ A_27b @ A_27c ) ) @ ( ap @ ( c_2Eoption_2ESOME @ ( arr @ ( arr @ A_27b @ A_27c ) @ ( arr @ ( arr @ A_27a @ A_27b ) @ ( arr @ A_27a @ A_27c ) ) ) ) @ ( c_2Ecombin_2Eo @ A_27a @ A_27c @ A_27b ) ) ) @ V0f ) ) @ V1g ) ) @ V2x )
                = ( ap @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ A_27c @ A_27b ) @ V0f ) @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__APPLY @ A_27b @ A_27a ) @ V1g ) @ V2x ) ) ) ) ) ) ).

thf(ax_thm_2Eoption_2EOPTREL__def,axiom,
    ! [A_27a: del,A_27b: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27b @ bool ) ) )
     => ! [V1x: $i] :
          ( ( mem @ V1x @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ! [V2y: $i] :
              ( ( mem @ V2y @ ( ty_2Eoption_2Eoption @ A_27b ) )
             => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27b ) @ V0R ) @ V1x ) @ V2y ) )
              <=> ( ( ( V1x
                      = ( c_2Eoption_2ENONE @ A_27a ) )
                    & ( V2y
                      = ( c_2Eoption_2ENONE @ A_27b ) ) )
                  | ? [V3x0: $i] :
                      ( ( mem @ V3x0 @ A_27a )
                      & ? [V4y0: $i] :
                          ( ( mem @ V4y0 @ A_27b )
                          & ( V1x
                            = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V3x0 ) )
                          & ( V2y
                            = ( ap @ ( c_2Eoption_2ESOME @ A_27b ) @ V4y0 ) )
                          & ( p @ ( ap @ ( ap @ V0R @ V3x0 ) @ V4y0 ) ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTREL__MONO,axiom,
    ! [A_27a: del,A_27b: del,V0P: $i] :
      ( ( mem @ V0P @ ( arr @ A_27a @ ( arr @ A_27b @ bool ) ) )
     => ! [V1Q: $i] :
          ( ( mem @ V1Q @ ( arr @ A_27a @ ( arr @ A_27b @ bool ) ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ ( ty_2Eoption_2Eoption @ A_27a ) )
             => ! [V3y: $i] :
                  ( ( mem @ V3y @ ( ty_2Eoption_2Eoption @ A_27b ) )
                 => ( ! [V4x: $i] :
                        ( ( mem @ V4x @ A_27a )
                       => ! [V5y: $i] :
                            ( ( mem @ V5y @ A_27b )
                           => ( ( p @ ( ap @ ( ap @ V0P @ V4x ) @ V5y ) )
                             => ( p @ ( ap @ ( ap @ V1Q @ V4x ) @ V5y ) ) ) ) )
                   => ( ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27b ) @ V0P ) @ V2x ) @ V3y ) )
                     => ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27b ) @ V1Q ) @ V2x ) @ V3y ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTREL__refl,axiom,
    ! [A_27a: del,V0R: $i] :
      ( ( mem @ V0R @ ( arr @ A_27a @ ( arr @ A_27a @ bool ) ) )
     => ( ! [V1x: $i] :
            ( ( mem @ V1x @ A_27a )
           => ( p @ ( ap @ ( ap @ V0R @ V1x ) @ V1x ) ) )
       => ! [V2x: $i] :
            ( ( mem @ V2x @ ( ty_2Eoption_2Eoption @ A_27a ) )
           => ( p @ ( ap @ ( ap @ ( ap @ ( c_2Eoption_2EOPTREL @ A_27a @ A_27a ) @ V0R ) @ V2x ) @ V2x ) ) ) ) ) ).

thf(ax_thm_2Eoption_2Esome__def,axiom,
    ! [A_27a: del,V0P: $i] :
      ( ( mem @ V0P @ ( arr @ A_27a @ bool ) )
     => ( ( ap @ ( c_2Eoption_2Esome @ A_27a ) @ V0P )
        = ( ap
          @ ( ap
            @ ( ap @ ( c_2Ebool_2ECOND @ ( ty_2Eoption_2Eoption @ A_27a ) )
              @ ( ap @ ( c_2Ebool_2E_3F @ A_27a )
                @ ( lam @ A_27a
                  @ ^ [V1x: $i] : ( ap @ V0P @ V1x ) ) ) )
            @ ( ap @ ( c_2Eoption_2ESOME @ A_27a )
              @ ( ap @ ( c_2Emin_2E_40 @ A_27a )
                @ ( lam @ A_27a
                  @ ^ [V2x: $i] : ( ap @ V0P @ V2x ) ) ) ) )
          @ ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ).

thf(conj_thm_2Eoption_2Esome__intro,axiom,
    ! [A_27a: del,V0P: $i] :
      ( ( mem @ V0P @ ( arr @ A_27a @ bool ) )
     => ! [V1Q: $i] :
          ( ( mem @ V1Q @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) )
         => ( ( ! [V2x: $i] :
                  ( ( mem @ V2x @ A_27a )
                 => ( ( p @ ( ap @ V0P @ V2x ) )
                   => ( p @ ( ap @ V1Q @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2x ) ) ) ) )
              & ( ! [V3x: $i] :
                    ( ( mem @ V3x @ A_27a )
                   => ~ ( p @ ( ap @ V0P @ V3x ) ) )
               => ( p @ ( ap @ V1Q @ ( c_2Eoption_2ENONE @ A_27a ) ) ) ) )
           => ( p @ ( ap @ V1Q @ ( ap @ ( c_2Eoption_2Esome @ A_27a ) @ V0P ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2Esome__elim,axiom,
    ! [A_27a: del,V0Q: $i] :
      ( ( mem @ V0Q @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) )
     => ! [V1P: $i] :
          ( ( mem @ V1P @ ( arr @ A_27a @ bool ) )
         => ( ( p @ ( ap @ V0Q @ ( ap @ ( c_2Eoption_2Esome @ A_27a ) @ V1P ) ) )
           => ( ? [V2x: $i] :
                  ( ( mem @ V2x @ A_27a )
                  & ( p @ ( ap @ V1P @ V2x ) )
                  & ( p @ ( ap @ V0Q @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2x ) ) ) )
              | ( ! [V3x: $i] :
                    ( ( mem @ V3x @ A_27a )
                   => ~ ( p @ ( ap @ V1P @ V3x ) ) )
                & ( p @ ( ap @ V0Q @ ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2Esome__F,axiom,
    ! [A_27a: del] :
      ( ( ap @ ( c_2Eoption_2Esome @ A_27a )
        @ ( lam @ A_27a
          @ ^ [V0x: $i] : c_2Ebool_2EF ) )
      = ( c_2Eoption_2ENONE @ A_27a ) ) ).

thf(conj_thm_2Eoption_2Esome__EQ,axiom,
    ! [A_27a: del,V0y: $i] :
      ( ( mem @ V0y @ A_27a )
     => ( ( ( ap @ ( c_2Eoption_2Esome @ A_27a )
            @ ( lam @ A_27a
              @ ^ [V1x: $i] : ( ap @ ( ap @ ( c_2Emin_2E_3D @ A_27a ) @ V1x ) @ V0y ) ) )
          = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V0y ) )
        & ( ( ap @ ( c_2Eoption_2Esome @ A_27a )
            @ ( lam @ A_27a
              @ ^ [V2x: $i] : ( ap @ ( ap @ ( c_2Emin_2E_3D @ A_27a ) @ V0y ) @ V2x ) ) )
          = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V0y ) ) ) ) ).

thf(conj_thm_2Eoption_2Eoption__case__cong,axiom,
    ! [A_27a: del,A_27b: del,V0v_27: $i] :
      ( ( mem @ V0v_27 @ A_27b )
     => ! [V1f_27: $i] :
          ( ( mem @ V1f_27 @ ( arr @ A_27a @ A_27b ) )
         => ! [V2M: $i] :
              ( ( mem @ V2M @ ( ty_2Eoption_2Eoption @ A_27a ) )
             => ! [V3M_27: $i] :
                  ( ( mem @ V3M_27 @ ( ty_2Eoption_2Eoption @ A_27a ) )
                 => ! [V4v: $i] :
                      ( ( mem @ V4v @ A_27b )
                     => ! [V5f: $i] :
                          ( ( mem @ V5f @ ( arr @ A_27a @ A_27b ) )
                         => ( ( ( V2M = V3M_27 )
                              & ( ( V3M_27
                                  = ( c_2Eoption_2ENONE @ A_27a ) )
                               => ( V4v = V0v_27 ) )
                              & ! [V6x: $i] :
                                  ( ( mem @ V6x @ A_27a )
                                 => ( ( V3M_27
                                      = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V6x ) )
                                   => ( ( ap @ V5f @ V6x )
                                      = ( ap @ V1f_27 @ V6x ) ) ) ) )
                           => ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ V2M ) @ V4v ) @ V5f )
                              = ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ V3M_27 ) @ V0v_27 ) @ V1f_27 ) ) ) ) ) ) ) ) ) ).

thf(ax_thm_2Eoption_2EOPTION__ALL__def,axiom,
    ! [A_27a: del] :
      ( ! [V0P: $i] :
          ( ( mem @ V0P @ ( arr @ A_27a @ bool ) )
         => ( ( p @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__ALL @ A_27a ) @ V0P ) @ ( c_2Eoption_2ENONE @ A_27a ) ) )
          <=> $true ) )
      & ! [V1P: $i] :
          ( ( mem @ V1P @ ( arr @ A_27a @ bool ) )
         => ! [V2x: $i] :
              ( ( mem @ V2x @ A_27a )
             => ( ( p @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__ALL @ A_27a ) @ V1P ) @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V2x ) ) )
              <=> ( p @ ( ap @ V1P @ V2x ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__ALL__MONO,axiom,
    ! [A_27a: del,V0P: $i] :
      ( ( mem @ V0P @ ( arr @ A_27a @ bool ) )
     => ! [V1P_27: $i] :
          ( ( mem @ V1P_27 @ ( arr @ A_27a @ bool ) )
         => ! [V2opt: $i] :
              ( ( mem @ V2opt @ ( ty_2Eoption_2Eoption @ A_27a ) )
             => ( ! [V3x: $i] :
                    ( ( mem @ V3x @ A_27a )
                   => ( ( p @ ( ap @ V0P @ V3x ) )
                     => ( p @ ( ap @ V1P_27 @ V3x ) ) ) )
               => ( ( p @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__ALL @ A_27a ) @ V0P ) @ V2opt ) )
                 => ( p @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__ALL @ A_27a ) @ V1P_27 ) @ V2opt ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2EOPTION__ALL__CONG,axiom,
    ! [A_27a: del,V0opt: $i] :
      ( ( mem @ V0opt @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1opt_27: $i] :
          ( ( mem @ V1opt_27 @ ( ty_2Eoption_2Eoption @ A_27a ) )
         => ! [V2P: $i] :
              ( ( mem @ V2P @ ( arr @ A_27a @ bool ) )
             => ! [V3P_27: $i] :
                  ( ( mem @ V3P_27 @ ( arr @ A_27a @ bool ) )
                 => ( ( ( V0opt = V1opt_27 )
                      & ! [V4x: $i] :
                          ( ( mem @ V4x @ A_27a )
                         => ( ( V1opt_27
                              = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V4x ) )
                           => ( ( p @ ( ap @ V2P @ V4x ) )
                            <=> ( p @ ( ap @ V3P_27 @ V4x ) ) ) ) ) )
                   => ( ( p @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__ALL @ A_27a ) @ V2P ) @ V0opt ) )
                    <=> ( p @ ( ap @ ( ap @ ( c_2Eoption_2EOPTION__ALL @ A_27a ) @ V3P_27 ) @ V1opt_27 ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2Eoption__case__eq,axiom,
    ! [A_27a: del,A_27b: del,V0opt: $i] :
      ( ( mem @ V0opt @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ! [V1nc: $i] :
          ( ( mem @ V1nc @ A_27b )
         => ! [V2sc: $i] :
              ( ( mem @ V2sc @ ( arr @ A_27a @ A_27b ) )
             => ! [V3v: $i] :
                  ( ( mem @ V3v @ A_27b )
                 => ( ( ( ap @ ( ap @ ( ap @ ( c_2Eoption_2Eoption__CASE @ A_27a @ A_27b ) @ V0opt ) @ V1nc ) @ V2sc )
                      = V3v )
                  <=> ( ( ( V0opt
                          = ( c_2Eoption_2ENONE @ A_27a ) )
                        & ( V1nc = V3v ) )
                      | ? [V4x: $i] :
                          ( ( mem @ V4x @ A_27a )
                          & ( V0opt
                            = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V4x ) )
                          & ( ( ap @ V2sc @ V4x )
                            = V3v ) ) ) ) ) ) ) ) ).

thf(conj_thm_2Eoption_2Eoption__Induct,axiom,
    ! [A_27a: del,V0P: $i] :
      ( ( mem @ V0P @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ bool ) )
     => ( ( ! [V1a: $i] :
              ( ( mem @ V1a @ A_27a )
             => ( p @ ( ap @ V0P @ ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1a ) ) ) )
          & ( p @ ( ap @ V0P @ ( c_2Eoption_2ENONE @ A_27a ) ) ) )
       => ! [V2x: $i] :
            ( ( mem @ V2x @ ( ty_2Eoption_2Eoption @ A_27a ) )
           => ( p @ ( ap @ V0P @ V2x ) ) ) ) ) ).

thf(conj_thm_2Eoption_2Eoption__CASES,axiom,
    ! [A_27a: del,V0opt: $i] :
      ( ( mem @ V0opt @ ( ty_2Eoption_2Eoption @ A_27a ) )
     => ( ? [V1x: $i] :
            ( ( mem @ V1x @ A_27a )
            & ( V0opt
              = ( ap @ ( c_2Eoption_2ESOME @ A_27a ) @ V1x ) ) )
        | ( V0opt
          = ( c_2Eoption_2ENONE @ A_27a ) ) ) ) ).

thf(conj_thm_2Eoption_2Edatatype__option,axiom,
    ! [A_27a: del,A_27b: del,V0option: $i] :
      ( ( mem @ V0option @ ( arr @ ( ty_2Eoption_2Eoption @ A_27a ) @ ( arr @ ( arr @ A_27a @ ( ty_2Eoption_2Eoption @ A_27a ) ) @ A_27b ) ) )
     => ( p @ ( ap @ ( c_2Ebool_2EDATATYPE @ A_27b ) @ ( ap @ ( ap @ V0option @ ( c_2Eoption_2ENONE @ A_27a ) ) @ ( c_2Eoption_2ESOME @ A_27a ) ) ) ) ) ).

%------------------------------------------------------------------------------